home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d23 / viruscan.arc / VIRSCAN.DOC < prev    next >
Text File  |  1989-09-29  |  8KB  |  176 lines

  1. IBM Internal Use Only
  2.  
  3.  
  4. Description of VIRSCAN:
  5. =======================
  6.  
  7. VIRSCAN tests executable files on disks for signature strings that are
  8. found in some common PC-DOS computer viruses. If a drive is specified,
  9. it will also test the drive for boot sector viruses.
  10.  
  11. To use it, simply type at the command prompt (for example)
  12. virscan c:
  13.  
  14. Type virscan without any arguments for some help.
  15.  
  16.  
  17. Technical details:
  18. ==================
  19.  
  20. VIRSCAN.EXE is the executable program.  It should run under OS/2 1.0,
  21. 1.1, and DOS 2.0, 2.1, 3.1, 3.2, 3.3, 4.0.
  22. The current version may not have been tested in all these environments.
  23. It will run in an OS/2 PM window.
  24.  
  25. VIRSCAN can be run off of a bootable write protected floppy diskette.  I
  26. suggest that VIRSCAN be installed on such a diskette, and that the
  27. system be cold booted (power-cycled) using this diskette before running
  28. VIRSCAN.  This procedure *should* be followed if VIRSCAN is being used
  29. when there are any computer virus infections endemic (or epidemic) in
  30. the vicinity.  (In particular, the BRAIN virus may not be detected unless
  31. this procedure is followed!)
  32.  
  33. SIGFILE.LST is a list of signature entries for COM and EXE viruses.  The
  34. first line of an entry is a simple hex string.  The second line is a
  35. message displayed if the hex string is found.  The third line informs
  36. the program of what file types the signature might be found in.  VIRSCAN
  37. does not trust the name of a file.  Files with the .EXE header, i.e.
  38. files whose first two bytes are hex 4D and 5A, are assumed to be .EXE
  39. files.  Files without the .EXE header are assumed to be of indeterminate
  40. type.
  41.  
  42. The current version of the signature file SIGFILE.LST includes
  43. signatures for the following EXE and COM viruses:
  44. -The 17XX virus family, including the 1701 virus, the 1704 variant,
  45.    the 17Y4 variant, and the 1704-C variant. The 1704-B variant
  46.    is detected as the 1704. The 1704-Format is detected as the 1704-C.
  47.    (AKA the Second Austrian Virus, the Falling Tears virus, the
  48.    Cascade virus, the BlackJack virus) (AKA == Also Known As)
  49. -The April 1st .EXE and .COM viruses.
  50. -The Jerusalem virus. (AKA the Israeli virus, the Hebrew University
  51.    virus, the Black Hole virus, the JV.)
  52. -The 648 virus. (AKA the One-In-Eight virus, the Austrian virus,
  53.    the DOS-62 virus, the Vienna virus.)
  54. -The 648 reboot code, that the 648 sometimes overwrites COM files with.
  55.    (This is an effect of the 648 virus, not a virus itself.)
  56. -The 1280 virus. The 1168 variant. (AKA the Datacrime virus.)
  57. -The LeHigh virus. (Version 1)
  58. -The 405 virus.
  59. -The 3066 virus. (AKA the TraceBack virus)
  60. -The Fu Manchu virus. (AKA the
  61. -The DataCrime II virus. (AKA the 1514)
  62. -The Icelandic virus family, and the Icelandic II variant.
  63. -The Friday the 13th virus. (AKA the 512 virus, the COM virus)
  64.  (The signature for the virus has not been addequately tested.
  65.  It was derived from a slightly modified sample; we do not have
  66.  an unmodifed working sample of this virus)
  67. -The SYSLOCK virus.
  68. -The 2930 virus. (AKA the TraceBack version 2 virus)
  69.  
  70. SIGBOOT.LST is a list of signature for boot sector viruses.  It has the
  71. same format as SIGFILE.LST. VIRSCAN will test system boot sectors
  72. of any drives that are specified, and the master boot record of the C:
  73. drive if it is specified. There are also command line parameters
  74. to scan any particular drive for boot sector viruses only.
  75. Warning: VIRSCAN cannot scan master boot records if it is run in
  76. an OS/2 protect mode session!!
  77.  
  78. The current version of the signature file SIGBOOT.LST includes
  79. signatures for the following boot sector viruses:
  80. -The Brain virus. The Shoe variant. (AKA the Pakistani virus.)
  81. -The Stoned virus. (AKA the Marijuana virus, the New Zealand virus.)
  82. -The Yale virus. (AKA the Alameda virus, the Merritt virus.)
  83. -The Bouncing Ball virus. (AKA the Ping-Pong virus, the Italian virus.)
  84. -The Den Zuk virus. (AKA Den Zuk)
  85. -The Israeli boot virus.
  86. -The Ashar virus. (A Brain virus variant.)
  87.  
  88. VSSRC.RAM contains source files, including a MAKE file for compilation
  89. under C/2 1.1 and the OS/2 programmer's toolkit.  It should be unpacked
  90. using a LOADRAM.EXE version that supports the tersed format.  The
  91. program will compile under Whitesmith's C, a VM/CMS C compiler, without
  92. the support for searching an entire drive and the support for searching
  93. boot sectors.  XSTR.C supplies a couple of ANSI functions that are
  94. missing from the version of Whitesmith's C that I use.  A VM/CMS MODULE
  95. is available from me on request.  The VM version can be used to scan
  96. binary images of PC executable files.  Please feel free to play with the
  97. code.  The family API directory tree traversal routine may be of more
  98. general interest.
  99.  
  100. VIRSCAN sets the DOS or OS/2 error level as follows upon exit:
  101. Errorlevel 0 means no virus signatures were found, and no other
  102.              fatal errors occurred.
  103. Errorlevel 1 means no virus signatures were found, but VIRSCAN
  104.              terminated with some other error, before the scan
  105.              was complete.
  106. Errorlevel 2 means that virus signatures were found.
  107.  
  108.  
  109. Weaknesses:
  110. ===========
  111.  
  112. Dave Chess and I have conducted some testing of VIRSCAN's ability to
  113. detect known boot sector viruses.  VIRSCAN was able to detect all the
  114. boot sector viruses of which we have samples. It is very easy to go
  115. wrong, so read the following carefully.
  116.  
  117. - VIRSCAN running under OS/2 will not (and cannot) find the 'Stoned'
  118. virus on an infected hard disk.  VIRSCAN under OS/2 *does* find the
  119. 'Stoned' virus on infected diskettes.  VIRSCAN running under DOS will
  120. find the 'Stoned' virus on an infected "C:"  drive, and on infected
  121. diskettes.
  122.  
  123. - Many boot sector viruses survive a soft boot, i.e.
  124. control-alt-delete.  For complete coverage, I *strongly* recommend that
  125. VIRSCAN be installed on a bootable write-protected floppy diskette
  126. (along with any other anti-virus tools used), and that it only be run
  127. after *power-cycling* the computer.  For an extra increment of safety,
  128. VSTOP from PCTOOLS could be run before running VIRSCAN.
  129.  
  130. - VIRSCAN will only detect the BRAIN virus if the BRAIN virus is not in
  131. control.  If this virus is in control, it intercepts reads of the boot
  132. sectors and returns the original, uninfected boot sector.
  133. (In other words, cold boot from an uninfected write protect floppy!)
  134.  
  135. - The support for detection of boot sector viruses is strongest for the
  136. "A:"  and "C:"  drives. For the boot viruses that VIRSCAN currently
  137. detects, suspect diskettes may be scanned in any drive.
  138.  
  139. - For technical folks:  if a scan of the A:  or C:  disk is specified,
  140. VIRSCAN uses BIOS INT 13 to scan the master boot record at head 0, track
  141. 0, sector 1 of physical drives 00H or 80H respectively. Note the implicit
  142. assumption that the active partition is always C:.
  143. For drive letters other than A:  and C:, no such scan is done unless
  144. explicitly requested on the command line.
  145. For example, if the second physical hard drive were "D:", it might be
  146. scanned as follows:
  147. virscan d: -b81
  148.  
  149. Some future release of VIRSCAN may eliminate some of these problems with
  150. the boot sector support. Until then, please be aware of the problems.
  151.  
  152. Please recognize that this type of scanner is relatively weak and that
  153. small alterations of known viruses may not be detected.  I am pursuing
  154. ways of making this scanner more likely to detect mutations, without
  155. compromising its speed. If you have any ideas, I would be happy to
  156. correspond with you about them.
  157.  
  158.  
  159. Who's responsible?
  160. ==================
  161.  
  162. Thanks to Dave Chess for supplying the signatures, for keeping the
  163. signature lists updated, and for testing VIRSCAN against his collection
  164. of viruses. (And for being brave enough to keep a collection!)
  165.  
  166. Please direct any questions, complaints or other correspondence to me, or
  167. to VIRSCAN FORUM on IBMPC.
  168. Correspondence will be appreciated.
  169.  
  170.  
  171. Bill Arnold
  172. BARNOLD at YKTVMH
  173. Tie          863-7544
  174. External 914 789-7544
  175.  
  176.